/**
 * hookI18n
 */
import { i18n } from "@/locales";
import { GlobalConfig } from "@/config";

export const hookI18n = () => {
    // 核心思想就是改变 useI18n 解构出来的locale
    // 这里为了和页面中的其他变量区别取别名 i18nLanguage。
    const { t, locale: i18nLocale } = i18n.global;

    /**
     * 当前语言设置
     */
    const currentLocale = i18nLocale;

    const getLocale = () => i18nLocale;
    const setLocale = (key: LanguageKey) => {
        i18nLocale.value = key;
        localStorage.setItem(GlobalConfig.APP_LANGUAGE_KEY, key); // 保存到本地存储
    };

    return {
        t,
        getLocale,
        setLocale,
    };
};
